package com.p2p.front.service;

import java.util.List;
import java.util.Map;

import com.p2p.base.page.PageVo;
import com.p2p.front.dal.model.Transfer;
import com.p2p.front.enums.CanTransferStatus;
import com.p2p.front.result.TransferResult;

/**
 * @author ruiqi
 *
 */
public interface TransferService {

	PageVo listPage(PageVo form);
	
	PageVo searchListPage(PageVo form);
	
	Transfer getTransfer(Transfer transfer);
	
	Transfer getTransferForUpdate(Transfer transfer);
	
	public TransferResult createTransfer(Long uid,Long tid,String transPassword);
	
	public TransferResult acceptTransfer(Long transferId,Long acceptUserId,String password);

	Map<String,Object> getTransferDetail(Long transferid);
	
    Transfer prevCreateTransfer(Long uid, Long tid);

	void cancel(Long id, Long uid);
    void cancelTransferByLid(Long lid);
    void cancelTransferByTid(List<Long> tid);
    CanTransferStatus canTransferVeryStrict(Long uid, Long tid);
	boolean canTransferFast(Long uid, Long tid);
	boolean canAccept(Long transferid, Long longId, String paypwd, String transpwd);

	Transfer prevCreateTransfer2(Long uid, Long tid);

	TransferResult createTransfer2(Long valueOf, Long tid, String transpwd);
}
